package com.sophossystems.client.asmon.action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import org.apache.log4j.Logger;
import org.jfree.util.Log;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.sophossystems.client.asmon.dto.ClienteDTO;
import com.sophossystems.client.asmon.dto.ClientePMoralesDTO;
import com.sophossystems.client.asmon.dto.ClientePersonasFisicasDTO;
import com.sophossystems.client.asmon.dto.DelegacionDTO;
import com.sophossystems.client.asmon.dto.MunicipiosDTO;
import com.sophossystems.client.asmon.dto.RutaDTO;
import com.sophossystems.client.asmon.dto.TipoZonaDTO;
import com.sophossystems.client.asmon.dto.ZonaDTO;
import com.sophossystems.client.asmon.model.Busqueda;
import com.sophossystems.client.asmon.model.Mensajeria;
import com.sophossystems.client.asmon.service.ClientService;
import com.sophossystems.client.asmon.service.SearchService;
import com.sophossystems.client.asmon.service.RouteServices;
import com.sun.xml.internal.xsom.impl.scd.Iterators.Map;

public class MensajeriaAction extends ActionSupport implements ModelDriven<Mensajeria> {

	private ClientService clientService;
	private RouteServices routeService;
	private SearchService searchService;
	private Busqueda busqueda = null;
	private Mensajeria mensajeria = null;
	private static final long serialVersionUID = 1L;
	private static Logger logger = Logger.getLogger(MensajeriaAction.class);
	
	private HashMap<String, String> listaFisicas = new HashMap<String, String>();
	private HashMap<String, String> listaMorales = new HashMap<String, String>();
	private HashMap<String, String> listaFisicasCliente = new HashMap<String, String>();
	private HashMap<String, String> listaMoralesCliente = new HashMap<String, String>();
	
	private List<ClientePMoralesDTO> listaClienteMorales = null;
	private List<ClientePersonasFisicasDTO> listaClienteFisicas = null;

	
	private void springRegistro(){
		logger.debug("En la context Clientes");
		
		XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
		routeService = (RouteServices)bf.getBean("routeServices");
	}
	

	
	public String programarRuta(){
		this.springRegistro();
		String resultado = SUCCESS;
		List<TipoZonaDTO> tipoZonaDto = null;
		HashMap<Integer, String> tipoZonaMap = new HashMap<Integer, String>();
		List<ZonaDTO> zonaDto = null;
		HashMap<Integer, String> zonaMap = new HashMap<Integer, String>();
		HashMap<Integer, String> delegacionMap = new HashMap<Integer, String>();
		List<MunicipiosDTO> municipiosDto = null;
		
		
//		llena los selects
		try {
			tipoZonaDto = routeService.tipoZona();
			
		} catch (Exception e) {
			logger.error("Error al cargar tipoZonas");
		}
		
		for (TipoZonaDTO tZona : tipoZonaDto) {
			tipoZonaMap.put(tZona.getIdZona(),tZona.getNombreZona());
		}
		mensajeria.setZona(tipoZonaMap);
		
		return resultado;
	}

	public MensajeriaAction() {
		mensajeria = new Mensajeria();
	}

	@Override
	public Mensajeria getModel() {
		// TODO Auto-generated method stub
		return mensajeria;
	}

}
